package cn.tedu.springdemo.day03;

import org.springframework.beans.factory.FactoryBean;

/**
 * spring工厂bean配置
 * 1.实现FactoryBean接口（接口提供专门的功能和方法,必须重新）
 */
public class NetConnSpringFactory implements FactoryBean<NetConnection> {
//生成对象的方法，Spring容器调用此方法生成需要的对象
//白话：工厂---提供工厂方法（重复，复杂工作交给工厂方法）
//getObject()获取工厂方法功能
    @Override
    public NetConnection getObject() throws Exception {
        NetConnection nc=new NetConnection();
        nc.load();nc.ping();nc.conn();
        return nc;
    }
//获取对象类型方法，Spring容器通过调用此方法来获知当前创建对象的类型
//白话：Spring容器.xml--<bean id="唯一“ class="NetConnection">
//获取的是什么对象
    @Override
    public Class<?> getObjectType() {
        return NetConnection.class;
    }
//获取对象是否是单例的信息（不写：默认按照单例模型执行）
    @Override
    public boolean isSingleton() {
        return true;//单例模式：Spring容器创建id，不重复，肯定是一个对象
    }
}
